Micron Document
🎖️GitЯра🎖️


Displaying Raw • Download

feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/radio/component/MQTTConfigItemList.kt 65a1f5ce4d0e4b8eafcd0bbfccafd41dc6ee888a (65a1f5ce) Text, 19.84 KB

T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tf0883e@fileTb4b4b4:Te6edf3SuppressTb4b4b4(Ta5d6ff"Ta5d6ffLongMethodTa5d6ff"Tb4b4b4)

Tff7b72package T7ee787org.meshtastic.feature.settings.radio.component

Tff7b72import T7ee787androidx.compose.foundation.background
Tff7b72import T7ee787androidx.compose.foundation.layout.Arrangement
Tff7b72import T7ee787androidx.compose.foundation.layout.Box
Tff7b72import T7ee787androidx.compose.foundation.layout.Column
Tff7b72import T7ee787androidx.compose.foundation.layout.Row
Tff7b72import T7ee787androidx.compose.foundation.layout.fillMaxWidth
Tff7b72import T7ee787androidx.compose.foundation.layout.padding
Tff7b72import T7ee787androidx.compose.foundation.layout.size
Tff7b72import T7ee787androidx.compose.foundation.shape.CircleShape
Tff7b72import T7ee787androidx.compose.foundation.text.KeyboardActions
Tff7b72import T7ee787androidx.compose.foundation.text.KeyboardOptions
Tff7b72import T7ee787androidx.compose.material3.Button
Tff7b72import T7ee787androidx.compose.material3.CardDefaults
Tff7b72import T7ee787androidx.compose.material3.HorizontalDivider
Tff7b72import T7ee787androidx.compose.material3.MaterialTheme
Tff7b72import T7ee787androidx.compose.material3.Text
Tff7b72import T7ee787androidx.compose.runtime.Composable
Tff7b72import T7ee787androidx.compose.runtime.getValue
Tff7b72import T7ee787androidx.compose.ui.Alignment
Tff7b72import T7ee787androidx.compose.ui.Modifier
Tff7b72import T7ee787androidx.compose.ui.draw.clip
Tff7b72import T7ee787androidx.compose.ui.focus.FocusManager
Tff7b72import T7ee787androidx.compose.ui.graphics.Color
Tff7b72import T7ee787androidx.compose.ui.platform.LocalFocusManager
Tff7b72import T7ee787androidx.compose.ui.text.input.ImeAction
Tff7b72import T7ee787androidx.compose.ui.text.input.KeyboardType
Tff7b72import T7ee787androidx.compose.ui.unit.dp
Tff7b72import T7ee787androidx.lifecycle.compose.collectAsStateWithLifecycle
Tff7b72import T7ee787org.jetbrains.compose.resources.stringResource
Tff7b72import T7ee787org.meshtastic.core.model.MqttConnectionState
Tff7b72import T7ee787org.meshtastic.core.model.MqttProbeStatus
Tff7b72import T7ee787org.meshtastic.core.network.repository.effectiveTlsEnabled
Tff7b72import T7ee787org.meshtastic.core.resources.Res
Tff7b72import T7ee787org.meshtastic.core.resources.address
Tff7b72import T7ee787org.meshtastic.core.resources.encryption_enabled
Tff7b72import T7ee787org.meshtastic.core.resources.json_output_enabled
Tff7b72import T7ee787org.meshtastic.core.resources.map_reporting
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_config
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_enabled
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_probe_dns_failure
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_probe_other_failure
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_probe_rejected
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_probe_running
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_probe_success
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_probe_success_with_info
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_probe_tcp_failure
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_probe_timeout
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_probe_tls_failure
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_proxy_local
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_proxy_local_summary
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_status_connected
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_status_connecting
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_status_disconnected
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_status_disconnected_with_reason
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_status_inactive
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_status_reconnecting
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_status_reconnecting_with_attempt
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt_test_connection
Tff7b72import T7ee787org.meshtastic.core.resources.password
Tff7b72import T7ee787org.meshtastic.core.resources.proxy_to_client_enabled
Tff7b72import T7ee787org.meshtastic.core.resources.root_topic
Tff7b72import T7ee787org.meshtastic.core.resources.tls_enabled
Tff7b72import T7ee787org.meshtastic.core.resources.username
Tff7b72import T7ee787org.meshtastic.core.ui.component.EditPasswordPreference
Tff7b72import T7ee787org.meshtastic.core.ui.component.EditTextPreference
Tff7b72import T7ee787org.meshtastic.core.ui.component.SwitchPreference
Tff7b72import T7ee787org.meshtastic.core.ui.component.TitledCard
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.RadioConfigViewModel
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.RebootBehavior
Tff7b72import T7ee787org.meshtastic.proto.ModuleConfig

T8b949e// json_enabled is deprecated in the protobuf schema but remains the only toggle for MQTT JSON
T8b949e// publish/consume, so the settings UI must keep exposing it until the proto provides a replacement.
Tf0883e@SuppressTb4b4b4(Ta5d6ff"Ta5d6ffDEPRECATIONTa5d6ff"Tb4b4b4)
Tf0883e@Composable
Tff7b72fun Td2a8ffMQTTConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4: Te6edf3RadioConfigViewModelTb4b4b4, Te6edf3onBackTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3state Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3radioConfigStateTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3destNode Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3destNodeTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3mqttProxyState Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3mqttConnectionStateTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3mqttProxyActive Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3mqttProxyActiveTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3probeStatus Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3mqttProbeStatusTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3destNum Tff7b72= Te6edf3destNodeTff7b72?.Te6edf3num
Tff7b72val Te6edf3mqttConfig Tff7b72= Te6edf3stateTb4b4b4.Te6edf3moduleConfigTb4b4b4.Te6edf3mqtt Tff7b72?: Te6edf3ModuleConfigTb4b4b4.Te6edf3MQTTConfigTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3formState Tff7b72= Te6edf3rememberConfigStateTb4b4b4(Te6edf3initialValue Tff7b72= Te6edf3mqttConfigTb4b4b4)

Tff7b72val Te6edf3currentMapReportSettings Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3map_report_settings Tff7b72?: Te6edf3ModuleConfigTb4b4b4.Te6edf3MapReportSettingsTb4b4b4(Tb4b4b4)
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3currentMapReportSettingsTb4b4b4.Te6edf3should_report_locationTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3settings Tff7b72=
Te6edf3currentMapReportSettingsTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3should_report_location Tff7b72= Te6edf3viewModelTb4b4b4.Te6edf3shouldReportLocationTb4b4b4(Te6edf3destNumTb4b4b4)Tb4b4b4.Te6edf3valueTb4b4b4)
Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3map_report_settings Tff7b72= Te6edf3settingsTb4b4b4)
Tb4b4b4}

Tff7b72val Te6edf3consentValid Tff7b72=
Tff7b72if Tb4b4b4(Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3map_reporting_enabledTb4b4b4) Tb4b4b4{
Tb4b4b4(Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3map_report_settingsTff7b72?.Te6edf3should_report_location Tff7b72?: Tff7b72falseTb4b4b4) Tff7b72&Tff7b72&
Tb4b4b4(Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3map_report_settingsTff7b72?.Te6edf3publish_interval_secs Tff7b72?: T79c0ff0Tb4b4b4) Tff7b72>Tff7b72= Te6edf3MIN_INTERVAL_SECS
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72true
Tb4b4b4}
Tff7b72val Te6edf3focusManager Tff7b72= Te6edf3LocalFocusManagerTb4b4b4.Te6edf3current

Te6edf3RadioConfigScreenListTb4b4b4(
Te6edf3rebootBehavior Tff7b72= Te6edf3RebootBehaviorTb4b4b4.Te6edf3ALWAYSTb4b4b4,
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqttTb4b4b4)Tb4b4b4,
Te6edf3onBack Tff7b72= Te6edf3onBackTb4b4b4,
Te6edf3configState Tff7b72= Te6edf3formStateTb4b4b4,
Te6edf3enabled Tff7b72= Te6edf3stateTb4b4b4.Te6edf3connected Tff7b72&Tff7b72& Te6edf3consentValidTb4b4b4,
Te6edf3responseState Tff7b72= Te6edf3stateTb4b4b4.Te6edf3responseStateTb4b4b4,
Te6edf3onDismissPacketResponse Tff7b72= Te6edf3viewModelTff7b72::Te6edf3clearPacketResponseTb4b4b4,
Te6edf3onSave Tff7b72= Tb4b4b4{
Tff7b72val Te6edf3config Tff7b72= Te6edf3ModuleConfigTb4b4b4(Te6edf3mqtt Tff7b72= Tffa657itTb4b4b4)
Te6edf3viewModelTb4b4b4.Te6edf3setModuleConfigTb4b4b4(Te6edf3configTb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3item Tb4b4b4{ Te6edf3MqttStatusRowTb4b4b4(Te6edf3mqttProxyStateTb4b4b4) Tb4b4b4}

Te6edf3item Tb4b4b4{
T8b949e// Phone-local proxy control: stops/starts the MQTT proxy running on this phone via
T8b949e// MqttManager directly, independent of the device's persisted MQTT config. Lets the user
T8b949e// cut the proxy firehose immediately without the slow read-modify-write-readback round-trip.
Tff7b72val Te6edf3mqtt Tff7b72= Te6edf3stateTb4b4b4.Te6edf3moduleConfigTb4b4b4.Te6edf3mqtt
Tff7b72val Te6edf3canProxy Tff7b72= Te6edf3mqttTff7b72?.Te6edf3enabled Tff7b72=Tff7b72= Tff7b72true Tff7b72&Tff7b72& Te6edf3mqttTb4b4b4.Te6edf3proxy_to_client_enabled Tff7b72=Tff7b72= Tff7b72true
Te6edf3TitledCardTb4b4b4(Te6edf3title Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3SwitchPreferenceTb4b4b4(
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_proxy_localTb4b4b4)Tb4b4b4,
Te6edf3summary Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_proxy_local_summaryTb4b4b4)Tb4b4b4,
Te6edf3checked Tff7b72= Te6edf3mqttProxyActiveTb4b4b4,
T8b949e// Off→on only makes sense when the device config permits proxying; keep the
T8b949e// switch live while the proxy is running so it can always be turned off.
Te6edf3enabled Tff7b72= Te6edf3stateTb4b4b4.Te6edf3connected Tff7b72&Tff7b72& Tb4b4b4(Te6edf3mqttProxyActive Tff7b72|Tff7b72| Te6edf3canProxyTb4b4b4)Tb4b4b4,
Te6edf3onCheckedChange Tff7b72= Te6edf3viewModelTff7b72::Te6edf3setMqttProxyActiveTb4b4b4,
Te6edf3containerColor Tff7b72= Te6edf3CardDefaultsTb4b4b4.Te6edf3cardColorsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3containerColorTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}

Te6edf3item Tb4b4b4{
Te6edf3TitledCardTb4b4b4(Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_configTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3SwitchPreferenceTb4b4b4(
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_enabledTb4b4b4)Tb4b4b4,
Te6edf3checked Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3enabledTb4b4b4,
Te6edf3enabled Tff7b72= Te6edf3stateTb4b4b4.Te6edf3connectedTb4b4b4,
Te6edf3onCheckedChange Tff7b72= Tb4b4b4{ Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3enabled Tff7b72= Tffa657itTb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3containerColor Tff7b72= Te6edf3CardDefaultsTb4b4b4.Te6edf3cardColorsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3containerColorTb4b4b4,
Tb4b4b4)
Te6edf3HorizontalDividerTb4b4b4(Tb4b4b4)
Te6edf3MqttAddressAndProbeTb4b4b4(
Te6edf3enabled Tff7b72= Te6edf3stateTb4b4b4.Te6edf3connectedTb4b4b4,
Te6edf3formState Tff7b72= Te6edf3formStateTb4b4b4,
Te6edf3probeStatus Tff7b72= Te6edf3probeStatusTb4b4b4,
Te6edf3focusManager Tff7b72= Te6edf3focusManagerTb4b4b4,
Te6edf3onProbe Tff7b72= Te6edf3viewModelTff7b72::Te6edf3probeMqttConnectionTb4b4b4,
Te6edf3onClearProbe Tff7b72= Te6edf3viewModelTff7b72::Te6edf3clearMqttProbeStatusTb4b4b4,
Tb4b4b4)
Te6edf3HorizontalDividerTb4b4b4(Tb4b4b4)
Te6edf3EditTextPreferenceTb4b4b4(
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3usernameTb4b4b4)Tb4b4b4,
Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3usernameTb4b4b4,
Te6edf3maxSize Tff7b72= T79c0ff6T79c0ff3Tb4b4b4, T8b949e// username max_size:64
Te6edf3enabled Tff7b72= Te6edf3stateTb4b4b4.Te6edf3connectedTb4b4b4,
Te6edf3isError Tff7b72= Tff7b72falseTb4b4b4,
Te6edf3keyboardOptions Tff7b72=
Te6edf3KeyboardOptionsTb4b4b4.Te6edf3DefaultTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3keyboardType Tff7b72= Te6edf3KeyboardTypeTb4b4b4.Te6edf3TextTb4b4b4, Te6edf3imeAction Tff7b72= Te6edf3ImeActionTb4b4b4.Te6edf3DoneTb4b4b4)Tb4b4b4,
Te6edf3keyboardActions Tff7b72= Te6edf3KeyboardActionsTb4b4b4(Te6edf3onDone Tff7b72= Tb4b4b4{ Te6edf3focusManagerTb4b4b4.Te6edf3clearFocusTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3onValueChanged Tff7b72= Tb4b4b4{ Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3username Tff7b72= Tffa657itTb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Te6edf3HorizontalDividerTb4b4b4(Tb4b4b4)
Te6edf3EditPasswordPreferenceTb4b4b4(
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3passwordTb4b4b4)Tb4b4b4,
Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3passwordTb4b4b4,
Te6edf3maxSize Tff7b72= T79c0ff6T79c0ff3Tb4b4b4, T8b949e// password max_size:64
Te6edf3enabled Tff7b72= Te6edf3stateTb4b4b4.Te6edf3connectedTb4b4b4,
Te6edf3keyboardActions Tff7b72= Te6edf3KeyboardActionsTb4b4b4(Te6edf3onDone Tff7b72= Tb4b4b4{ Te6edf3focusManagerTb4b4b4.Te6edf3clearFocusTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3onValueChanged Tff7b72= Tb4b4b4{ Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3password Tff7b72= Tffa657itTb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Te6edf3HorizontalDividerTb4b4b4(Tb4b4b4)
Te6edf3SwitchPreferenceTb4b4b4(
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3encryption_enabledTb4b4b4)Tb4b4b4,
Te6edf3checked Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3encryption_enabledTb4b4b4,
Te6edf3enabled Tff7b72= Te6edf3stateTb4b4b4.Te6edf3connectedTb4b4b4,
Te6edf3onCheckedChange Tff7b72= Tb4b4b4{ Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3encryption_enabled Tff7b72= Tffa657itTb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3containerColor Tff7b72= Te6edf3CardDefaultsTb4b4b4.Te6edf3cardColorsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3containerColorTb4b4b4,
Tb4b4b4)
Te6edf3HorizontalDividerTb4b4b4(Tb4b4b4)
Te6edf3SwitchPreferenceTb4b4b4(
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3json_output_enabledTb4b4b4)Tb4b4b4,
Te6edf3checked Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3json_enabledTb4b4b4,
Te6edf3enabled Tff7b72= Te6edf3stateTb4b4b4.Te6edf3connectedTb4b4b4,
Te6edf3onCheckedChange Tff7b72= Tb4b4b4{ Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3json_enabled Tff7b72= Tffa657itTb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3containerColor Tff7b72= Te6edf3CardDefaultsTb4b4b4.Te6edf3cardColorsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3containerColorTb4b4b4,
Tb4b4b4)
Te6edf3HorizontalDividerTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3resolvedAddress Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3addressTb4b4b4.Te6edf3ifEmpty Tb4b4b4{ Ta5d6ff"Ta5d6ffmqtt.meshtastic.orgTa5d6ff" Tb4b4b4}
Tff7b72val Te6edf3enforceTls Tff7b72= Te6edf3effectiveTlsEnabledTb4b4b4(Te6edf3resolvedAddressTb4b4b4, Te6edf3tlsEnabled Tff7b72= Tff7b72falseTb4b4b4)
Te6edf3SwitchPreferenceTb4b4b4(
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3tls_enabledTb4b4b4)Tb4b4b4,
Te6edf3checked Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3tls_enabled Tff7b72|Tff7b72| Te6edf3enforceTlsTb4b4b4,
Te6edf3enabled Tff7b72= Te6edf3stateTb4b4b4.Te6edf3connected Tff7b72&Tff7b72& Tff7b72!Te6edf3enforceTlsTb4b4b4,
Te6edf3onCheckedChange Tff7b72= Tb4b4b4{ Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3tls_enabled Tff7b72= Tffa657itTb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3containerColor Tff7b72= Te6edf3CardDefaultsTb4b4b4.Te6edf3cardColorsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3containerColorTb4b4b4,
Tb4b4b4)
Te6edf3HorizontalDividerTb4b4b4(Tb4b4b4)
Te6edf3EditTextPreferenceTb4b4b4(
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3root_topicTb4b4b4)Tb4b4b4,
Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3rootTb4b4b4,
Te6edf3maxSize Tff7b72= T79c0ff3T79c0ff1Tb4b4b4, T8b949e// root max_size:32
Te6edf3enabled Tff7b72= Te6edf3stateTb4b4b4.Te6edf3connectedTb4b4b4,
Te6edf3isError Tff7b72= Tff7b72falseTb4b4b4,
Te6edf3keyboardOptions Tff7b72=
Te6edf3KeyboardOptionsTb4b4b4.Te6edf3DefaultTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3keyboardType Tff7b72= Te6edf3KeyboardTypeTb4b4b4.Te6edf3TextTb4b4b4, Te6edf3imeAction Tff7b72= Te6edf3ImeActionTb4b4b4.Te6edf3DoneTb4b4b4)Tb4b4b4,
Te6edf3keyboardActions Tff7b72= Te6edf3KeyboardActionsTb4b4b4(Te6edf3onDone Tff7b72= Tb4b4b4{ Te6edf3focusManagerTb4b4b4.Te6edf3clearFocusTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3onValueChanged Tff7b72= Tb4b4b4{ Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3root Tff7b72= Tffa657itTb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Te6edf3HorizontalDividerTb4b4b4(Tb4b4b4)
Te6edf3SwitchPreferenceTb4b4b4(
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3proxy_to_client_enabledTb4b4b4)Tb4b4b4,
Te6edf3checked Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3proxy_to_client_enabledTb4b4b4,
Te6edf3enabled Tff7b72= Te6edf3stateTb4b4b4.Te6edf3connectedTb4b4b4,
Te6edf3onCheckedChange Tff7b72= Tb4b4b4{ Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3proxy_to_client_enabled Tff7b72= Tffa657itTb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3containerColor Tff7b72= Te6edf3CardDefaultsTb4b4b4.Te6edf3cardColorsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3containerColorTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}

Te6edf3item Tb4b4b4{
Te6edf3TitledCardTb4b4b4(Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3map_reportingTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3mapReportSettings Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3map_report_settings Tff7b72?: Te6edf3ModuleConfigTb4b4b4.Te6edf3MapReportSettingsTb4b4b4(Tb4b4b4)
Te6edf3MapReportingPreferenceTb4b4b4(
Te6edf3mapReportingEnabled Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3map_reporting_enabledTb4b4b4,
Te6edf3onMapReportingEnabledChanged Tff7b72= Tb4b4b4{
Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3map_reporting_enabled Tff7b72= Tffa657itTb4b4b4)
Tb4b4b4}Tb4b4b4,
Te6edf3shouldReportLocation Tff7b72= Te6edf3mapReportSettingsTb4b4b4.Te6edf3should_report_locationTb4b4b4,
Te6edf3onShouldReportLocationChanged Tff7b72= Tb4b4b4{
Te6edf3viewModelTb4b4b4.Te6edf3setShouldReportLocationTb4b4b4(Te6edf3destNumTb4b4b4, Tffa657itTb4b4b4)
Tff7b72val Te6edf3settings Tff7b72= Te6edf3mapReportSettingsTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3should_report_location Tff7b72= Tffa657itTb4b4b4)
Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3map_report_settings Tff7b72= Te6edf3settingsTb4b4b4)
Tb4b4b4}Tb4b4b4,
Te6edf3positionPrecision Tff7b72= Te6edf3mapReportSettingsTb4b4b4.Te6edf3position_precisionTb4b4b4,
Te6edf3onPositionPrecisionChanged Tff7b72= Tb4b4b4{
Tff7b72val Te6edf3settings Tff7b72= Te6edf3mapReportSettingsTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3position_precision Tff7b72= Tffa657itTb4b4b4)
Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3map_report_settings Tff7b72= Te6edf3settingsTb4b4b4)
Tb4b4b4}Tb4b4b4,
Te6edf3publishIntervalSecs Tff7b72= Te6edf3mapReportSettingsTb4b4b4.Te6edf3publish_interval_secsTb4b4b4,
Te6edf3onPublishIntervalSecsChanged Tff7b72= Tb4b4b4{
Tff7b72val Te6edf3settings Tff7b72= Te6edf3mapReportSettingsTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3publish_interval_secs Tff7b72= Tffa657itTb4b4b4)
Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3map_report_settings Tff7b72= Te6edf3settingsTb4b4b4)
Tb4b4b4}Tb4b4b4,
Te6edf3enabled Tff7b72= Te6edf3stateTb4b4b4.Te6edf3connectedTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tff7b72private Tff7b72const Tff7b72val Te6edf3MIN_INTERVAL_SECS Tff7b72= T79c0ff3T79c0ff6T79c0ff0T79c0ff0

Tff7b72private Tff7b72val Te6edf3AmberColor Tff7b72= Te6edf3ColorTb4b4b4(T79c0ff0Te6edf3xFFFFA000Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3GreenColor Tff7b72= Te6edf3ColorTb4b4b4(T79c0ff0Te6edf3xFF4CAF50Tb4b4b4)

Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffMqttStatusRowTb4b4b4(Te6edf3stateTb4b4b4: Te6edf3MqttConnectionStateTb4b4b4) Tb4b4b4{
Tff7b72val Tb4b4b4(Te6edf3labelTb4b4b4, Te6edf3colorTb4b4b4) Tff7b72=
Tff7b72when Tb4b4b4(Te6edf3stateTb4b4b4) Tb4b4b4{
Tff7b72is Te6edf3MqttConnectionStateTb4b4b4.Te6edf3Inactive Tff7b72-Tff7b72>
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_status_inactiveTb4b4b4) Te6edf3to Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3outline

Tff7b72is Te6edf3MqttConnectionStateTb4b4b4.Te6edf3Disconnected Tff7b72-Tff7b72> Tb4b4b4{
Tff7b72val Te6edf3text Tff7b72=
Te6edf3stateTb4b4b4.Te6edf3reasonTff7b72?.Te6edf3let Tb4b4b4{ Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_status_disconnected_with_reasonTb4b4b4, Tffa657itTb4b4b4) Tb4b4b4}
Tff7b72?: Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_status_disconnectedTb4b4b4)
Te6edf3text Te6edf3to Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3error
Tb4b4b4}

Tff7b72is Te6edf3MqttConnectionStateTb4b4b4.Te6edf3Connecting Tff7b72-Tff7b72> Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_status_connectingTb4b4b4) Te6edf3to Te6edf3AmberColor

Tff7b72is Te6edf3MqttConnectionStateTb4b4b4.Te6edf3Connected Tff7b72-Tff7b72> Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_status_connectedTb4b4b4) Te6edf3to Te6edf3GreenColor

Tff7b72is Te6edf3MqttConnectionStateTb4b4b4.Te6edf3Reconnecting Tff7b72-Tff7b72> Tb4b4b4{
Tff7b72val Te6edf3err Tff7b72= Te6edf3stateTb4b4b4.Te6edf3lastError
Tff7b72val Te6edf3text Tff7b72=
Tff7b72if Tb4b4b4(Te6edf3err Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_status_reconnecting_with_attemptTb4b4b4, Te6edf3stateTb4b4b4.Te6edf3attemptTb4b4b4, Te6edf3errTb4b4b4)
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_status_reconnectingTb4b4b4)
Tb4b4b4}
Te6edf3text Te6edf3to Te6edf3AmberColor
Tb4b4b4}
Tb4b4b4}
Te6edf3RowTb4b4b4(
Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4,
Te6edf3horizontalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3spacedByTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3paddingTb4b4b4(Te6edf3horizontal Tff7b72= T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3BoxTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff1T79c0ff0.Te6edf3dpTb4b4b4)Tb4b4b4.Te6edf3clipTb4b4b4(Te6edf3CircleShapeTb4b4b4)Tb4b4b4.Te6edf3backgroundTb4b4b4(Te6edf3colorTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3labelTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceVariantTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}

Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffMqttAddressAndProbeTb4b4b4(
Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4,
Te6edf3formStateTb4b4b4: Te6edf3ConfigStateTff7b72<Te6edf3ModuleConfigTb4b4b4.Te6edf3MQTTConfigTff7b72>Tb4b4b4,
Te6edf3probeStatusTb4b4b4: Te6edf3MqttProbeStatus?Tb4b4b4,
Te6edf3focusManagerTb4b4b4: Te6edf3FocusManagerTb4b4b4,
Te6edf3onProbeTb4b4b4: Tb4b4b4(Te6edf3addressTb4b4b4: Tffa657StringTb4b4b4, Te6edf3tlsEnabledTb4b4b4: Tffa657BooleanTb4b4b4, Te6edf3usernameTb4b4b4: Tffa657StringTb4b4b4, Te6edf3passwordTb4b4b4: Tffa657StringTb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Te6edf3onClearProbeTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3EditTextPreferenceTb4b4b4(
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3addressTb4b4b4)Tb4b4b4,
Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3addressTb4b4b4,
Te6edf3maxSize Tff7b72= T79c0ff6T79c0ff3Tb4b4b4, T8b949e// address max_size:64
Te6edf3enabled Tff7b72= Te6edf3enabledTb4b4b4,
Te6edf3isError Tff7b72= Tff7b72falseTb4b4b4,
Te6edf3keyboardOptions Tff7b72= Te6edf3KeyboardOptionsTb4b4b4.Te6edf3DefaultTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3keyboardType Tff7b72= Te6edf3KeyboardTypeTb4b4b4.Te6edf3TextTb4b4b4, Te6edf3imeAction Tff7b72= Te6edf3ImeActionTb4b4b4.Te6edf3DoneTb4b4b4)Tb4b4b4,
Te6edf3keyboardActions Tff7b72= Te6edf3KeyboardActionsTb4b4b4(Te6edf3onDone Tff7b72= Tb4b4b4{ Te6edf3focusManagerTb4b4b4.Te6edf3clearFocusTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3onValueChanged Tff7b72= Tb4b4b4{
Te6edf3formStateTb4b4b4.Te6edf3value Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3address Tff7b72= Tffa657itTb4b4b4)
Te6edf3onClearProbeTb4b4b4(Tb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Te6edf3HorizontalDividerTb4b4b4(Tb4b4b4)
Te6edf3MqttProbeRowTb4b4b4(
Te6edf3enabled Tff7b72= Te6edf3enabled Tff7b72&Tff7b72& Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3addressTb4b4b4.Te6edf3isNotBlankTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3status Tff7b72= Te6edf3probeStatusTb4b4b4,
Te6edf3onTestClick Tff7b72= Tb4b4b4{
Te6edf3focusManagerTb4b4b4.Te6edf3clearFocusTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3resolvedAddress Tff7b72= Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3addressTb4b4b4.Te6edf3ifEmpty Tb4b4b4{ Ta5d6ff"Ta5d6ffmqtt.meshtastic.orgTa5d6ff" Tb4b4b4}
Tff7b72val Te6edf3effectiveTls Tff7b72= Te6edf3effectiveTlsEnabledTb4b4b4(Te6edf3resolvedAddressTb4b4b4, Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3tls_enabledTb4b4b4)
Te6edf3onProbeTb4b4b4(Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3addressTb4b4b4, Te6edf3effectiveTlsTb4b4b4, Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3usernameTb4b4b4, Te6edf3formStateTb4b4b4.Te6edf3valueTb4b4b4.Te6edf3passwordTb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}

Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffMqttProbeRowTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4, Te6edf3statusTb4b4b4: Te6edf3MqttProbeStatus?Tb4b4b4, Te6edf3onTestClickTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4) Tb4b4b4{
Te6edf3ColumnTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3paddingTb4b4b4(Te6edf3horizontal Tff7b72= T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4, Te6edf3vertical Tff7b72= T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4,
Te6edf3verticalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3spacedByTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(
Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4,
Te6edf3horizontalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3spacedByTb4b4b4(T79c0ff1T79c0ff2.Te6edf3dpTb4b4b4)Tb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3ButtonTb4b4b4(Te6edf3onClick Tff7b72= Te6edf3onTestClickTb4b4b4, Te6edf3enabled Tff7b72= Te6edf3enabled Tff7b72&Tff7b72& Te6edf3status Tff7b72!is Te6edf3MqttProbeStatusTb4b4b4.Te6edf3ProbingTb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_test_connectionTb4b4b4)Tb4b4b4)
Tb4b4b4}
Tff7b72val Tb4b4b4(Te6edf3probeTextTb4b4b4, Te6edf3probeColorTb4b4b4) Tff7b72= Te6edf3statusTb4b4b4.Te6edf3toLabelTb4b4b4(Tb4b4b4) Tff7b72?: Tff7b72returnTf0883e@Row
Te6edf3TextTb4b4b4(Te6edf3text Tff7b72= Te6edf3probeTextTb4b4b4, Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3bodySmallTb4b4b4, Te6edf3color Tff7b72= Te6edf3probeColorTb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffMqttProbeStatusTff7b72?.Te6edf3toLabelTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3PairTff7b72<Tffa657StringTb4b4b4, Te6edf3ColorTff7b72>Tff7b72? Tff7b72= Tff7b72when Tb4b4b4(Tff7b72thisTb4b4b4) Tb4b4b4{
Tff7b72null Tff7b72-Tff7b72> Tff7b72null

Tff7b72is Te6edf3MqttProbeStatusTb4b4b4.Te6edf3Probing Tff7b72-Tff7b72>
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_probe_runningTb4b4b4) Te6edf3to Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceVariant

Tff7b72is Te6edf3MqttProbeStatusTb4b4b4.Te6edf3Success Tff7b72-Tff7b72> Tb4b4b4{
Tff7b72val Te6edf3text Tff7b72=
Te6edf3serverInfoTff7b72?.Te6edf3let Tb4b4b4{ Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_probe_success_with_infoTb4b4b4, Tffa657itTb4b4b4) Tb4b4b4}
Tff7b72?: Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_probe_successTb4b4b4)
Te6edf3text Te6edf3to Te6edf3GreenColor
Tb4b4b4}

Tff7b72is Te6edf3MqttProbeStatusTb4b4b4.Te6edf3Rejected Tff7b72-Tff7b72>
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_probe_rejectedTb4b4b4, Te6edf3reason Tff7b72?: Te6edf3reasonCodeTb4b4b4.Te6edf3toStringTb4b4b4(Tb4b4b4)Tb4b4b4) Te6edf3to
Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3error

Tff7b72is Te6edf3MqttProbeStatusTb4b4b4.Te6edf3DnsFailure Tff7b72-Tff7b72>
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_probe_dns_failureTb4b4b4) Te6edf3to Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3error

Tff7b72is Te6edf3MqttProbeStatusTb4b4b4.Te6edf3TcpFailure Tff7b72-Tff7b72>
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_probe_tcp_failureTb4b4b4) Te6edf3to Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3error

Tff7b72is Te6edf3MqttProbeStatusTb4b4b4.Te6edf3TlsFailure Tff7b72-Tff7b72>
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_probe_tls_failureTb4b4b4, Te6edf3message Tff7b72?: Ta5d6ff"Ta5d6ffunknownTa5d6ff"Tb4b4b4) Te6edf3to Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3error

Tff7b72is Te6edf3MqttProbeStatusTb4b4b4.Te6edf3Timeout Tff7b72-Tff7b72>
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_probe_timeoutTb4b4b4, Te6edf3timeoutMsTb4b4b4.Te6edf3toIntTb4b4b4(Tb4b4b4)Tb4b4b4) Te6edf3to Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3error

Tff7b72is Te6edf3MqttProbeStatusTb4b4b4.Te6edf3Other Tff7b72-Tff7b72>
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqtt_probe_other_failureTb4b4b4) Te6edf3to Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3error
Tb4b4b4}

Served by rngit 1.5.0 - Generated in 0.12s